#include <stdio.h>
#include <math.h>


#if 1
int main(int argc, char const *argv[])
{
/*
    int a,b,c;
    float d;
    printf("请输入一个整数>:");
    scanf("%d",&a);
    printf("a=%d\n",a);

    printf("请输入三个整数>:");
    scanf("%d%d%d",&a,&b,&c);    
    printf("a=%d , b=%d , c=%d \n",a,b,c);

    printf("请输入一个八进制的整数>:");
    scanf("%o",&a);
    printf("a=%#o\n",a);
    printf("a=%d\n",a);

    printf("请输入一个十六进制的整数>:");
    scanf("%x",&a);
    printf("a=%#x\n",a);
    printf("a=%d\n",a);

    printf("请输入一个小数>:");
    scanf("%f",&d);
    printf("d=%f\n",d);

    printf("请输入一个指数形式的小数>:");
    scanf("%e",&d);
    printf("d=%e\n",d);

    char ch;
    printf("请输入一个字符>:");
    scanf("%c",&ch);
    printf("ch=%c\n",ch);

    char str[100]={0};
    printf("请输入一个字符串>:");
    scanf("%s",str);
    printf("str=%s\n",str);

    char ch;
    printf("请输入三个字符>:");
    scanf("%3c",&ch);
    printf("ch=%c\n",ch);

    long a;
    printf("请输入一个long 类型的整数>:");
    scanf("%ld",&a);
    printf("a=%ld\n",a);

    double b;
    printf("请输入一个double 类型的实数>:");
    scanf("%lf",&b);
    printf("b=%lf\n",b);


    float a,b,c;
    float s,area;
    printf("请输入三角形的三边边长>:");
    scanf("%f%f%f",&a,&b,&c);
    printf("a=%f,b=%f,c=%f\n",a,b,c);
    if((a+b>c) && (a+c>b) && (b+c>a))
    {
        s=0.5*(a+b+c);
        printf("s=%f\n",s);
        area = sqrt(s*(s-a)*(s-b)*(s-c));
        printf("area=%f\n",area);
    }
    else
    {
        printf("不满足三角形的三边关系，请重新输入\n");
    }
*/
    int a,b,c;
    int x1,x2,area;
    printf("请输入三个数>:");
    scanf("%d%d%d",&a,&b,&c);
    printf("a=%d,b=%d,c=%d\n",a,b,c);
    if((b*b)-(4*a*c) > 0)
    {
        area = sqrt((b*b)-(4*a*c));
        x1 = ((-b) + area)/(2*a);
        x2 = ((-b) - area)/(2*a);

        printf("方程的根为:%d,%d\n",x1,x2);
    }
    else
    {
        printf("无实根，请重新输入\n");
    }

    return 0;
}


#else

int main(int argc, char const *argv[])
{
    int   a ;
    char  b;
    
    printf("请输入一个整数>:");
    scanf("%d",&a);

    printf("请输入一个字符>:");

 /***第一种解决垃圾字符的方案： 空格***/
    #if 0
    scanf(" %c",&b);  //从终端取一个字符
    #endif 

 /***第二种解决垃圾字符的方案: %*c 抑制符***/
    #if 0
    scanf("%*c%c",&b);  //从终端取一个字符
    #endif 

/***第三种解决垃圾字符的方案: getchar() ***/
    #if 0
    getchar();          //读取一个字符，不接受
    scanf("%c",&b);  //从终端取一个字符
    #endif 

/***第四种解决垃圾字符的方案: （可用于处理多个垃圾字符）***/
    #if 1
    scanf("%*[^\n]");       //抑制除了 '\n' 以外的所有字符
    scanf("%*c");           //再抑制一个 '\n' 
    scanf("%c",&b);         //从终端取一个字符
    #endif 

    printf("a=%d\n",a);
    printf("b=%c\n",b);
    printf("b=%d\n",b);   
    return 0;
}


#endif
